<template xmlns:v-slot="http://www.w3.org/1999/XSL/Transform">
    <div class="index">
        <div class="container">
            <div class="swiper-box">
                <div class="nav-menu">
                    <ul class="menu-wrap">
                        <li class="menu-item" v-for="item in catalog">
                            <a href="javascript:;">{{item.name}}</a>
                            <div class="children">
                                <ul >
                                    <li v-for="obj in item.catalog2List">
                                        <a v-bind:href="'/#/pl/'+obj.id">
                                           <img v-bind:src="obj.icon" alt="" style="width: 60px;height: 60px">
                                            <span style="font-size: 15px">{{obj.name}}</span>
                                        </a>
                                    </li>
                                </ul>
                            </div>
                        </li>
                    </ul>
                </div>
                <swiper v-bind:options="swiperOption">
                    <swiper-slide v-for="(item,index) in slideList" v-bind:key="index">
                        <a v-bind:href="'/#/product/'+item.id"><img v-bind:src="item.img"></a>
                    </swiper-slide>
                    <!-- Optional controls -->
                    <div class="swiper-pagination" slot="pagination"></div>
                    <!--<div class="swiper-button-prev" slot="button-prev"></div>-->
                    <!--<div class="swiper-button-next" slot="button-next"></div>-->
                </swiper>
            </div>
            <div class="ads-box">
                <a v-bind:href="'/#/product/'+item.id" v-for="(item,index) in adsList" v-bind:key="index">
                    <img v-lazy="item.img" alt="">
                </a>
            </div>
            <div class="banner">
                <a href="/#/product/1000006">
                    <img v-lazy="'https://img20.360buyimg.com/aotucms/jfs/t1/68184/18/3983/69922/5d22b438Ebe2973c6/392f3de9ae76adae.png.webp'" alt="">
                </a>
            </div>
        </div>
        <div class="product-box">
            <div class="container">
                <h2>最新单品</h2>
                <div class="wrapper">
                    <div class="banner-left">
                        <a href="/#/product/35"><img v-lazy="'/imgs/index/index-category-1.webp'" alt=""></a>
                    </div>
                    <div class="list-box">
                           <div class="list" v-for="(arr,i) in latestProductList" v-bind:key="i">
                            <div class="item" v-for="(item,j) in arr" v-bind:key="j">
                                <!--<span v-bind:class="{'new-pro':j%2==0}">新品</span>-->
                                <div class="item-img">
                                    <a v-bind:href="'/#/product/'+item.id">  <img v-lazy="item.mainImage" alt=""></a>
                                </div>
                                <div class="item-info">
                                    <!--<h3>{{item.name}}</h3>-->
                                    <p>{{item.subtitle}}</p>
                                    <p class="price" @click="addCart(item.id)">{{item.price}}元</p>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class="product-box">
            <div class="container">
                <h2>精选优品</h2>
                <div class="wrapper">
                    <div class="banner-left">
                        <a href="/#/product/35"><img v-lazy="'/imgs/index/index-catlog-left-2.jpg.webp'" alt=""></a>
                    </div>
                    <div class="list-box">
                        <div class="list" v-for="(arr,i) in phoneList" v-bind:key="i">
                            <div class="item" v-for="(item,j) in arr" v-bind:key="j">
                                <!--<span v-bind:class="{'new-pro':j%2==0}">新品</span>-->
                                <div class="item-img">
                                    <a v-bind:href="'/#/product/'+item.id"> <img v-lazy="item.mainImage" alt=""></a>
                                </div>
                                <div class="item-info">
                                    <!--<h3>{{item.name}}</h3>-->
                                    <p>{{item.subtitle}}</p>
                                    <p class="price" @click="addCart(item.id)">{{item.price}}元</p>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <service-bar></service-bar>
        <modal
                title="提示"
                sureText="查看购物车"
                btnType="1"
                modalType="middle"
                v-bind:showModal="showModal"
                v-on:submit="goToCart"
                v-on:cancel="showModal=false"
        >
            <template v-slot:body>
                <p>商品添加成功！</p>
            </template>
        </modal>
    </div>
</template>
<script>
    import ServiceBar from './../components/ServiceBar'
    import Modal from './../components/Modal'
    import {swiper, swiperSlide} from 'vue-awesome-swiper'
    import 'swiper/dist/css/swiper.css'

    export default {
        name: 'index',
        components: {
            swiper,
            swiperSlide,
            ServiceBar,
            Modal
        },
        data() {
            return {
                catalog:[],
                swiperOption: {
                    autoplay: true,
                    loop: true,
                    effect: 'cube',
                    cubeEffect: {
                        shadowOffset: 100,
                        shadowScale: 0.6
                    },
                    pagination: {
                        el: '.swiper-pagination',
                        clickable: true
                    },
                    navigation: {
                        nextEl: '.swiper-button-next',
                        prevEl: '.swiper-button-prev',
                    }
                },
                slideList: [
                    {
                        id: '1000005',
                        img: '/imgs/index/index-1.jpg'
                    },
                    {
                        id: '1000005',
                        img: '/imgs/index/index-2.jpg'
                    },
                    {
                        id: '1000005',
                        img: '/imgs/index/index-9.jpg'
                    }
                ],
                menuList: [],
                adsList: [
                    {
                        id: 1000006,
                        img: '/imgs/index/index-banner-1-1.png'
                    }, {
                        id: 1000006,
                        img: '/imgs/index/index-banner-2-2.png'
                    }, {
                        id: 1000006,
                        img: '/imgs/index/index-banner-3-3.png'
                    }, {
                        id: 1000006,
                        img: '/imgs/index/index-banner-4-4.png'
                    }
                ],
                phoneList: [],
                latestProductList:[],
                showModal: false
            }
        },
        mounted() {
            this.init();
            this.loadLatestProductList()
            this.axios.get('/category/getAll').then(res=>{
               this.catalog= res;
            })

        },
        methods: {
            loadLatestProductList() {
                this.axios.get('/loadLatestProductList').then((res) => {
                    res = res.slice(0, 8);
                    this.latestProductList = [res.slice(0, 4), res.slice(4, 8)];
                })
            },
            init() {
                this.axios.get('/products', {
                    params: {
                        categoryId: 1,
                        pageSize: -1
                    }
                }).then((res) => {

                    // res.list = res.list.slice(6,14);----------------------公网
                    // this.phoneList= [res.list.slice(0,4),res.list.slice(4,8)];
//比如返回来的数组有100个元素，productList.slice(0, 8)是截取前8个元素形成新数组
                    res.productList = res.productList.slice(0, 8);
                    //将8个元素分开，前4个组成一个数组，后4个组成一个数组，形成新的二元数组
                    this.phoneList = [res.productList.slice(0, 4), res.productList.slice(4, 8)];

                })
            },
            addCart(id) {
                this.axios.post('/carts', {
                    productId: id,
                    selected: true
                }).then((res) => {
                    this.showModal = true;
                    this.$store.dispatch('saveCartCount', res.cartTotalQuantity);
                });
            },
            goToCart() {
                this.$router.push('/cart');
            }
        }
    }
</script>
<style lang="scss">
    @import './../assets/scss/config.scss';
    @import './../assets/scss/mixin.scss';

    .index {
        .swiper-box {
            .nav-menu {
                position: absolute;
                /*width: 264px;*/
                width: 200px;
                height: 451px;
                z-index: 9;
                padding: 26px 0;
                background-color: #55585a7a;
                box-sizing: border-box;

                .menu-wrap {
                    .menu-item {
                        height: 50px;
                        line-height: 50px;

                        a {
                            position: relative;
                            display: block;
                            font-size: 16px;
                            color: #ffffff;
                            padding-left: 30px;

                            &:after {
                                position: absolute;
                                right: 30px;
                                top: 17.5px;
                                content: ' ';
                                @include bgImg(10px, 15px, '/imgs/icon-arrow.png');
                            }
                        }

                        &:hover {
                            background-color: $colorA;

                            .children {
                                display: block;
                            }
                        }

                        .children {
                            display: none;
                            width: 1030px;
                            height: 451px;
                            background-color: $colorG;
                            position: absolute;
                            top: 0;
                            left: 200px;
                            border: 1px solid $colorH;

                            ul {
                                display: inline-block;
                                /*justify-content: space-between;*/
                                height: 75px;

                                li {
                                    float: left;
                                    height: 75px;
                                    line-height: 75px;
                                    flex: 1;
                                    padding-left: 80px;
                                }

                                a {
                                    color: $colorB;
                                    font-size: 14px;
                                }

                                img {
                                    width: 42px;
                                    height: 35px;
                                    vertical-align: middle;
                                    margin-right: 15px;
                                }
                            }
                        }
                    }
                }
            }

            .swiper-container {
                height: 451px;

                .swiper-button-prev {
                    left: 274px;
                }

                img {
                    width: 100%;
                    height: 100%;
                }
            }
        }

        .ads-box {
            @include flex();
            margin-top: 14px;
            margin-bottom: 31px;

            a {
                width: 296px;
                height: 167px;
            }
        }

        .banner {
            margin-bottom: 50px;
        }

        .product-box {
            background-color: $colorJ;
            padding: 30px 0 50px;

            h2 {
                font-size: $fontF;
                height: 21px;
                line-height: 21px;
                color: $colorB;
                margin-bottom: 20px;
            }

            .wrapper {
                display: flex;

                .banner-left {
                    margin-right: 16px;

                    img {
                        width: 224px;
                        height: 619px;
                       // height: 309px;
                    }
                }

                .list-box {
                    .list {
                        @include flex();
                        width: 986px;
                        margin-bottom: 14px;

                        &:last-child {
                            margin-bottom: 0;
                        }

                        .item {
                            width: 236px;
                            height: 302px;
                            background-color: $colorG;
                            text-align: center;

                            span {
                                display: inline-block;
                                width: 67px;
                                height: 24px;
                                font-size: 14px;
                                line-height: 24px;
                                color: $colorG;

                                &.new-pro {
                                    background-color: #7ECF68;
                                }

                                &.kill-pro {
                                    background-color: #E82626;
                                }
                            }

                            .item-img {
                                img {
                                    width: 100%;
                                    height: 195px;
                                    margin-top: 10px;
                                }
                            }

                            .item-info {
                                h3 {
                                    font-size: $fontJ;
                                    color: $colorB;
                                    line-height: $fontJ;
                                    font-weight: bold;
                                }

                                p {
                                    color: $colorD;
                                    line-height: 16px;
                                    margin: 6px auto 13px;
                                    width: 140px;
                                }

                                .price {
                                    color: #F20A0A;
                                    font-size: $fontJ;
                                    font-weight: bold;
                                    cursor: pointer;

                                    &:after {
                                        @include bgImg(22px, 22px, '/imgs/icon-cart-hover.png');
                                        content: ' ';
                                        margin-left: 5px;
                                        vertical-align: middle;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
</style>